Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support pull diagnostics and use them for testing #2166

Merged
merged 1 commit into from
Feb 19, 2025

Conversation

jneem
Copy link
Member

@jneem jneem commented Feb 12, 2025

Push diagnostics (where the LSP decides when to publish, and sends notifications) are hard to test reliably, because the harness doesn't know when and how many diagnostics to expect.

This PR adds support for "pull" diagnostics, where there's a diagnostic request and the server responds to it. This simplifies the testing, and hopefully stops it from timing out at random.

This will probably conflict with the typechecker changes. I'm happy to wait and rebase.

@jneem jneem requested a review from yannham February 12, 2025 05:07
Copy link
Member

@yannham yannham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If I understand correctly, this adds a new capability to NLS - send current document diagnostics - and use that in the test harness instead of looping over the answers.

The format is slightly less nice for snapshot test, but 1. it's not very important and 2. it's limited to eval diagnostics, if I understand correctly. Let's try this PR on top of one of the failing PR and see if it seems to solve the problem.

Copy link
Member

@yannham yannham left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's try this way. It seems to work in #2173, although the failures aren't always deterministic. This still adds a new capability to NLS, and the price is minimal (beside added LoC, the snapshot for eval diagnostics are slightly less nice, but it's not user-facing)

@jneem jneem added this pull request to the merge queue Feb 19, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Feb 19, 2025
@jneem jneem added this pull request to the merge queue Feb 19, 2025
Merged via the queue into master with commit 8b37095 Feb 19, 2025
5 checks passed
@jneem jneem deleted the more-reliable-nls-testing branch February 19, 2025 02:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants